+ translate ([0, 0, box_h/2]) case_walls ();
+}
+
+
+// todo:
+// specify which wall (rear, front, left, right).
+// offset from center of wall, as vector
+// optional: inside/outside
+function case_connector_wall (x=0, y=0, z=0) = [ [panel_w/2-x, panel_h/2-y, (box_h-base_h)/2-z], [0,-1, 0], 0 ];
+
+// HINGE
+
+function hinge_connector_back (th=hinge_joint_thickness*2, h=hinge_base_height) = [ [0, th/2, h/2], [0,1, 0], 0 ];
+
+module hinge_female () {
+ w = hinge_joint_width * 2;
+ th = hinge_joint_thickness * 2;
+ jt = hinge_joint_thickness;
+ jw = hinge_joint_width;
+ h = hinge_base_height;
+
+ %connector (hinge_connector_back ());
+
+ difference () {
+ cube ([w, th, h], center=true);
+ joint_male_negative(male_joint_width=jw, male_joint_thickness=jt, forward_rom=90, backward_rom=90, male_joint_height=10);
+ }